Close Menu
    Facebook X (Twitter) Instagram
    • Download Cisco Packet Tracer
    Facebook X (Twitter) Instagram Pinterest Vimeo
    IT Beginner
    • Home
    • Server
    • WordPress
    IT Beginner
    Home»Ubuntu»How to install VNC Server on Ubuntu 15.10
    Ubuntu

    How to install VNC Server on Ubuntu 15.10

    27/07/2017Updated:02/03/2023No Comments7 Mins Read

    I have written several tutorials how to install VNC Server on Ubuntu but they are quite outdated. As of right now the current newest version of Ubuntu is 15.10 Wily Werewolf, I’m going to show you how to install VNC Server on Ubuntu 15.10 in this tutorial. I’m using fresh install Ubuntu 15.10 64-bit server version, as Ubuntu server does not come with a GUI (graphical user interface) I will have to install one. If you have a Ubuntu Desktop version, you may skip the installing GUI step on this tutorial.

    Update Ubuntu 15.10

    As usual I always update my system before I install anything. It’s a good practice to keep our servers/machines secured also.

    $ su -
    
    # apt-get update && apt-get dist-upgrade -y

    Install GUI on Ubuntu 15.10 Server

    As I stated before If you Ubuntu 15.10 Desktop version, you can skip this step since Desktop version already have a GUI installed. I’m using Ubuntu 15.10 64-bit Server for this tutorial so I will install a GUI of my choice, XFCE is always my favorite Desktop Environment. You can install other but for the shake of this tutorial I will just use XFCE.

    # apt-get install xubuntu-desktop xfce4 firefox nano -y

    This step may take sometime (depends on your Internet speed and your machine power/speed) so grab a cup of tea of coffee and enjoy it after you run the command above.

    Install VNC Server on Ubuntu 15.10

    Installing VNC Server on Ubuntu 15.10 is simple, but configuration is another story.

    # apt-get install vnc4server -y

    Configure VNC Server to work on Ubuntu 15.10

    Now it’s the important part of the whole tutorial to make VNC Server work well on Ubuntu 15.10. Please read and follow the steps below carefully.

    Adding privileged user

    You can always run your system with root, but it’s not a good security practice. If you have a regular/privileged user, you can skip this step. If you are using root, I strongly recommend you to create a regular/privileged user and use this user rather than root. For the purpose of this tutorial, I’m creating “vncuser” user, but you can choose whatever user/username you want to use or even your exiting privileged user.

     # adduser vncuser
    You will be asked for the new user’s password and other details, you only need to set the password, the other details are unimportant.
    root@namhuy:~# adduser vncuser
    Adding user `vncuser' ...
    Adding new group `vncuser' (1001) ...
    Adding new user `vncuser' (1001) with group `vncuser' ...
    Creating home directory `/home/vncuser' ...
    Copying files from `/etc/skel' ...
    Enter new UNIX password:
    Retype new UNIX password:
    passwd: password updated successfully
    Changing the user information for vncuser
    Enter the new value, or press ENTER for the default
    Full Name []:
    Room Number []:
    Work Phone []:
    Home Phone []:
    Other []:
    Is the information correct? [Y/n]

    Setting up Vnc Server on Ubuntu 15.10

    If you already have your privileged user, it’s time to switch to the user that you want to login to VNC Server. We are going to modify xstartup file to start xfce4 session whenever VNC server is started.

    # su - vncuser

    Start VNC server with that user for VNC server to create some necessary files first time.

    $ vncserver

    First time you startup vncserver, you will be asked to provide vnc’s password to access to your VNC Server. This password can be the same as your user’s password or different, it’s up to you but I highly recommend you to set this password different to your user’s password for better security measure.

    You will require a password to access your desktops.
     
    Password:
    Verify:
    xauth: file /home/vncuser/.Xauthority does not exist
     
    New 'namhuy:1 (vncuser)' desktop is namhuy:1
     
    Creating default startup script /home/vncuser/.vnc/xstartup
    Starting applications specified in /home/vncuser/.vnc/xstartup
    Log file is /home/vncuser/.vnc/namhuy:1.log

    vncserver will created a few files (log, pid, passwd, and xstartup) in your user’s home directory.

    The next step is to turn off vncserver to modify the xstartup file (startup script) to make vncserver start with xfce4 (we installed xfce4 for this tutorial)

    $ vncserver -kill :1

    After turning off vncserver, we now can modify xstartup file in your user’s home directory

    $ cd ~
    $ nano .vnc/xstartup
    This is the original xstartup file content
    #!/bin/sh
     
    # Uncomment the following two lines for normal desktop:
    # unset SESSION_MANAGER
    # exec /etc/X11/xinit/xinitrc
     
    [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
    [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
    xsetroot -solid grey
    vncconfig -iconic &
    x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
    x-window-manager &
    What you need to do is to uncomment two lines “unset SESSION_MANAGER” and “exec /etc/X11/xinit/xinitrc”, then add “startxfce4 &” to the file. The modified xstartup file should look like this
    #!/bin/sh
     
    # Uncomment the following two lines for normal desktop:
    unset SESSION_MANAGER
    exec /etc/X11/xinit/xinitrc
     
    startxfce4 &
     
    [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
    [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
    xsetroot -solid grey
    vncconfig -iconic &
    x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
    x-window-manager &

    Save xstartup when you are done.

    Create VNC Server statup script

    vncserver won’t auto start on boot unless you create a startup script for it, here is the startup script to start vncserver on boot. All you have to do is to create /etc/init.d/vncserver file as root

    $ su –
    # nano /etc/init.d/vncserver
    with the content below
    #!/bin/bash
    ### BEGIN INIT INFO
    # Provides:          tightvncserver
    # Required-Start:    $syslog
    # Required-Stop:     $syslog
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: vnc server
    # Description: https://www.itbeginer.net
    #
    ### END INIT INFO
     
    unset VNCSERVERARGS
    VNCSERVERS=""
    [ -f /etc/vncserver/vncservers.conf ] && . /etc/vncserver/vncservers.conf
    prog=$"VNC server"
    start() {
    . /lib/lsb/init-functions
    REQ_USER=$2
    echo -n $"Starting $prog: "
    ulimit -S -c 0 >/dev/null 2>&1
    RETVAL=0
    for display in ${VNCSERVERS}
    do
    export USER="${display##*:}"
    if test -z "${REQ_USER}" -o "${REQ_USER}" == ${USER} ; then
    echo -n "${display} "
    unset BASH_ENV ENV
    DISP="${display%%:*}"
    export VNCUSERARGS="${VNCSERVERARGS[${DISP}]}"
    su ${USER} -c "cd ~${USER} && [ -f .vnc/passwd ] && vncserver :${DISP} ${VNCUSERARGS}"
    fi
    done
    }
    stop() {
    . /lib/lsb/init-functions
    REQ_USER=$2
    echo -n $"Shutting down VNCServer: "
    for display in ${VNCSERVERS}
    do
    export USER="${display##*:}"
    if test -z "${REQ_USER}" -o "${REQ_USER}" == ${USER} ; then
    echo -n "${display} "
    unset BASH_ENV ENV
    export USER="${display##*:}"
    su ${USER} -c "vncserver -kill :${display%%:*}" >/dev/null 2>&1
    fi
    done
    echo -e "\n"
    echo "VNCServer Stopped"
    }
    case "$1" in
    start)
    start $@
    ;;
    stop)
    stop $@
    ;;
    restart|reload)
    stop $@
    sleep 3
    start $@
    ;;
    condrestart)
    if [ -f /var/lock/subsys/vncserver ]; then
    stop $@
    sleep 3
    start $@
    fi
    ;;
    status)
    status Xvnc
    ;;
    *)
    echo $"Usage: $0 {start|stop|restart|condrestart|status}"
    exit 1
    esac
    Save the file and make vncserver startup script executable
    # chmod +x /etc/init.d/vncserver

    Create VNC Server configuration file

    We are going to create vncservers.conf file in /etc/vncserver directory to set VNC’s port, screen resolution for each user.

    # mkdir -p /etc/vncserver
    # nano /etc/vncserver/vncservers.conf

    Copy the content below to vncservers.conf file

    # VNC port:user
    # 1 for port 1 and 5901, 2 for port 2 and 5902, 3 for port 3 and 5903, and so on
    VNCSERVERS="1:vncuser"
     
    # VNC screen resolution
    #GEOMETRY="<WIDTH>x<HEIGHT>"
    VNCSERVERARGS[1]="-geometry 1024x768"
     
    # Color depth (choose 8, 16, or 32)
    DEPTH="32"

    The first line is for VNC ports and VNC users. number “1” is the VNC port, it’s port “1” or “5901”, you can add or change the port to “2” or “5902” and so on. If you want more users to connect to your VNC Server, you must include those users here. Save the file when you are done with it.

    The final step is to make VNC Server starts on boot

    # update-rc.d vncserver defaults 99

    Reboot your Ubutnu 15.10 system and test out your new VNC Server on Ubuntu 15.10

    # reboot

    Using VNC Server on Ubuntu 15.10

    You can login to your VNC Server with IP address or hostname/domain name by using RealVCN viewer or TightVNC viewer. You will be asked for your user VNC’s password.

    When your VNC session starts the first time, Xfce4’s panel will ask you to choose “Use default config” or “One empty panel”. Choose/click on “Use default config”

    Wella you now have a working VNC Server on Ubuntu 15.10

     

     

    VNC Server
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Previous ArticleHow to install LEMP Server (Nginx 1.8, MariaDB 10.1, PHP-FPM 7) on CentOS 7
    Next Article How to upgrade xfce 4.10 to 4.12 in xubuntu

    Related Posts

    Debian

    How to install VNC Server on Debian 7

    25/07/2017
    Server

    How to install VNC Server on Ubuntu 14.04

    25/07/2017
    Ubuntu

    Get ready for Ubuntu 14.04 LTS (Trusty Tahr)

    25/07/2017
    Subscribe
    Notify of
    guest

    guest

    This site uses Akismet to reduce spam. Learn how your comment data is processed.

    0 Comments
    Oldest
    Newest Most Voted
    Inline Feedbacks
    View all comments
    Tags
    apache centos Centos 6 cuda Desktop Environment dual boot environment featured gnome GUI hostname hosts intel kernel kill lamp server lemp server life MariaDB netflix nginx nvidia password php-fpm phpmyadmin pids processes s.m.a.r.t Security session solid state drive ssd ssh ssh server tag 1 tag 2 Ubuntu upgrade varnish VirtualBox VNC Server web server window manager wordpress xfce
    Facebook X (Twitter) Instagram Pinterest

    Type above and press Enter to search. Press Esc to cancel.

    wpDiscuz